package leetcode.code1492;

import java.util.ArrayList;
import java.util.List;

public class Solution {
	public int kthFactor(int n, int k) {
		int cnt = 0;
		List<Integer> list = new ArrayList<>();
		int ans = 0;
		for (int i = 1; i < Math.sqrt(n) && cnt < k; i++) {
			if (n % i == 0) {
				cnt++;
				ans = i;
				list.add(n / i);
			}
		}
		if (cnt == k) {
			return ans;
		}
		ans = (int) Math.sqrt(n);
		if (Math.pow(ans, 2) == n) {
			cnt++;
		}
		if (cnt == k) {
			return ans;
		}
		if (list.size() >= k - cnt) {
			return list.get(list.size() - k + cnt);
		}
		return -1;
	}
}
